Попередня сторінка: Створення алгоритмів і програм із роз...
Наступна сторінка: Опрацювання рядкових вєличин
Багато задач програмування пов’язано з опрацюванням текстових даних: задачі шифрування інформації, перевірки тексту на відсутність плагіату, ігри зі словами тощо.
Для опрацювання текстових даних у Python існує тип даних str (від англ . string — рядок) .
Значенням величини типу str є послідовність символів .
Рядкові константи в Python записують в одинарних або подвійних лапках . Початок і кінець рядка мають бути в лапках одного виду.
Коди символів
Усі символи (літери, цифри, знаки пунктуації тощо) утворюють так звану таблицю символів . Кожний символ у таблиці має свій номер, який називають його кодом .
Код будь-якого символу можна визначити за допомогою функції ord():
Дізнатися, який символ відповідає певному коду, можна за допомогою функції chr():
Великі й малі літери, літери англійського та українського алфавітів із однаковим написанням мають різні коди
Коди від 0 до 31 і від 127 до 160 не призначені для зображуваних символів, а є керувальними . Коду 32 відповідає символ «пропуск» .
Нумерація символів у рядку
Кожний символ у рядку має унікальний порядковий номер — індекс . Нумерація символів починається з нуля . Розглянемо приклади роботи з рядками в інтерактивному режимі
До конкретного символу в рядку можна звертатися за його індексом, зазначивши індекс у квадратних дужках .
Надрукуємо першу літеру рядка Червона калина:
Можна починати відлік символів із кінця рядка. У цьому випадку індекси починаються з -1 (останній символ) .
Надрукуємо третю з кінця літеру рядка Червона калина:
Присвоїмо змінній b символ рядка а з індексом 8:
Функція len() повертає кількість символів, із яких утворено рядок . Синтаксис функції:
де k — змінна цілого типу для збереження значення, яке повертає функція; s — рядок, довжину якого потрібно визначити .
Визначимо довжину рядка Червона калина:
Пропуск теж є символом, тому довжина рядка дорівнює 14 .
Отримання зрізів
Можна вибирати з рядка не один символ, а декілька, тобто добувати зріз (підрядок) .
Оператор добування зрізу з рядка:
де z — змінна, в яку зберігається підрядок рядка s; і — індекс початку зрізу; j — його закінчення (причому символ із номером j у зріз не входить); step — з яким кроком вибираються символи .
Якщо символи вибираються підряд, параметр step можна опустити . Якщо відсутній перший індекс, то зріз береться від початку до другого індексу; за відсутності другого індексу зріз береться від першого індексу до кінця рядка
Рядки — незмінювані послідовності . Якщо спробувати змінити значення символу всередині рядка, виникне помилка (рис. 4.1) .
Перегляд символів у рядку
Перевірити, чи є певний рядок в іншому рядку, можна, скориставшись оператором in:
Операції конкатенації і дублювання
Об’єднання двох або більше рядків в один рядок називають конкатенацією . Цю операцію позначають символом «+» .
Об’єднаємо рядкові змінні а і b, додавши між ними пропуск .
Дублювання — це повторення текстового фрагмента задану кількість разів . Цю операцію позначають символом «*» .
Створення вікна програми з написом і кнопкою
Пригадаємо основні кроки зі створення програми з графічним інтерфейсом із використанням модуля tkinter.
Побудова програми починається зі створення вікна . У вікно додаються інші елементи керування . Для деяких елементів керування створюються обробники подій
Проаналізуємо програмний код створення вікна з написом і кнопкою
Якщо зберегти й запустити цю програму, побачимо вікно програми (рис. 4.2, а). Після натискання на кнопку напис зміниться на 'Успіхів!' (рис . 4.2, б) .
Питання для самоперевірки
1. Опишіть основні кроки зі створення програми з графічним інтерфейсом .
2. За допомогою звернень до символів у рядку за їхніми індексами та операції конкатенації отримайте з рядка 'Якщо ви можете запрограмувати комп'ютер, то ви зможете досягти своєї мрії. Дік Костоло' рядки 'програміст' та 'зірка'.
3. Запишіть оператори, що реалізують присвоєння змінній b таких зрізів рядка а:
а) перші вісім символів;
б) останні чотири символи;
в) символи з індексами, кратними трьом
4. Запишіть оператор, який дозволив отримати з рядка s такий рядок: а) s1 = 'форма'; б) s1 = 'інтика'.
s = 'інформатика'
5. Розгадайте фразу, яку зашифровано в рядку s1 . Який зріз із рядка s1 потрібно присвоїти рядку s2 для розшифрування фрази? s1 = 'яа клеюгбмлщюй кіеннфгошрщмзазтхиткуур'
6. Задано рядок символів . Поміняйте місцями першу половину рядка з другою. Приклади: 123абв ^ абв123; 1234абв ^ абв4123 .
Вправа 4
►► Скласти програму Рекламний рядок.
У Python IDLE виберіть команду File ^ New File.
1) Запишіть команду завантаження модуля tkinter.
2) Створіть вікно програми розмірами 300 х 100 із заголовком Реклама (рис . 4.3) .
3) До змінної s занесіть текст реклами, наприклад: s = 'Вивчайте мову Python!'
4) Додайте до вікна віджет lab класу Label . Задайте значення атрибутів об’єкта lab на ваш розсуд, наприклад:
5) Для того щоб рядок рухався, створіть функцію clock() . При кожному виклику функції 0-й символ рядка s переміщується в кінець рядка й оновлюється властивість text віджета lab: def clock():
6) В основній програмі запишіть команду виклику функції clock, а в останньому рядку програмного коду — оператор запуску головного циклу обробки подій:
Збережіть програмний код з іменем Vprava4 .
Випробуйте програму (див рис 4 3)
Поекспериментуйте з нею, змінюючи рекламний текст, періодичність виклику функції dock тощо.
Комп’ютерне тестування
Виконайте тестове завдання 4 із автоматичною перевіркою результату
Це матеріал з підручника Інформатика за 7 клас Бондаренко
Наступна сторінка: Опрацювання рядкових вєличин